package utils;

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.file.Files;
import java.nio.file.Paths;

/**
 * @author ttxs
 */
public class FileUtils {

    /***
     * 按指定编码方式读取指定文件
     * @param filePath 文件路径
     * @param encoding 以什么编码方式读取文件
     * @return 将指定文件读出成字符串
     * @author cwt
     */

    public static String readFileToString(String filePath, String encoding) {
        //获取指定文件内容的总字节数
        byte[] encodedBytes;
        try {
            encodedBytes = Files.readAllBytes(Paths.get(filePath));
            return new String(encodedBytes, encoding);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    /***
     *将处理好的字符串写入到文件中
     * @param filePath 指定输出文件的路径
     * @param content 需要写入文件的内容
     * @param encoding 指定文件编码
     * @author cwt
     */

    public static void saveToFile(String filePath,String content, String encoding) {
        try (BufferedWriter writer = new BufferedWriter(
                new OutputStreamWriter(Files.newOutputStream(Paths.get(filePath)), encoding))) {
            writer.write(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
